package com.thinkgsp.jxc.service;

import java.util.List;

import com.thinkgsp.jxc.model.Emp;
import com.thinkgsp.jxc.persistence.EmpMapper;
import com.thinkgsp.sys.persistence.PersistenceException;

/**
 * 职员业务类
 * @author evan
 *
 */
public interface EmpService {

	
	/**
	 * 设置持久化类,本方法用于测试目的
	 * @param empMapper
	 */
	public void setEmpMapper(EmpMapper empMapper);
	/**
	 * 获取一个职员对象
	 * @param empId  职员Id
	 * @return
	 */
	public Emp getEmp(Integer empId);
	
	/**
	 * 获取所有职员列表
	 * @return
	 */
	public List<Emp> getAllEmp();
	
	/**
	 * 根据部门Id获取职员
	 * @param deptId
	 * @return
	 */
	public List<Emp> getEmpByDeptId(Integer deptId);
	
	/**
	 * 保存职员信息
	 * @param emp
	 */
	public void saveEmp(Emp emp) throws ModelExistsException,PersistenceException;
	
	/**
	 * 删除职员
	 * @param empId
	 * @return
	 */
	public void deleteEmp(Integer empId) throws PersistenceException;	
	
	/**
	 * 获取当前登陆用户关联的职员
	 * @return
	 * @throws ServiceException
	 */
	public Emp getLoginEmp() throws ServiceException;
}
